17.4 Настройка CPU Traffic
17.4.1 Обзор
Введение в функционал
CPU Traffic — полезный механизм для защиты процессора от вредоносных потоков, которые могут перегружать коммутаторы, отправляя в них большое количество PDU.
Ограничение CPU-трафика предоставляет двухуровневую защиту:
- Ограничение на низком уровне - осуществляется для каждой причины, реализуется с помощью формирования очередей для каждого типа PDU.
- Ограничение на высоком уровне - применяется для всех причин, реализуется через формирование каналов на уровне CPU-канала.
С помощью этой двухуровневой защиты ограничивается как скорость передачи PDU на процессор для каждой причины, так и общая скорость передачи PDU на процессор.
Под словом «причина» подразумевается тип пакетов, которые отправляются на процессор для дальнейшей обработки.
Описание всех причин приведено ниже:
| Причина | Описание |
|---|---|
| arp | Протокол разрешения адресов (ARP) |
| bpdu | Блок протоколов мостов (BPDU) |
| dhcp | Протокол динамической конфигурации хостов (DHCP) |
| eapol | Протокол расширенной аутентификации по локальной сети |
| erps | Защита Ethernet-кольца (ERPS) |
| fwd-to-cpu | Пакеты, перенаправленные на процессор |
| icmp-redirect | ICMP-переадресация |
| igmp | Протокол IGMP Snooping |
| ip-option | Пакеты с IP-опциями |
| ipda | Пакеты с назначением IP к маршрутизатору |
| ssh | Пакеты протокола SSH |
| telnet | Пакеты протокола Telnet |
| mlag | Пакеты протокола MLAG |
| tcp | Пакеты протокола TCP |
| ldp | Протокол распространения меток (LDP) |
| macsa-mismatch | Безопасность порта по исходному MAC-адресу |
| mcast-rpf-fail | Multicast с RPF ошибкой или первый multicast-пакет |
| mpls-ttl-fail | MPLS пакеты с ошибкой TTL |
| ip-mtu-fail | IP-пакеты с ошибкой MTU |
| ospf | Протокол OSPF |
| pim | Протокол независимой маршрутизации Multicast (PIM) |
| port-security-discard | Безопасность порта для превышения FDB |
| rip | Протокол RIP |
| sflow-egress | Пробоотбор пакетов на выходе |
| sflow-ingress | Пробоотбор пакетов на входе |
| slow-protocol | Медленные протоколы (включая EFM, LACP и SYNCE) |
| smart-link | Протокол Smart Link |
| ucast-ttl-fail | Unicast пакеты с ошибкой TTL |
| udld | Протокол обнаружения однонаправленных связей (UDLD) |
| vlan-security-discard | Безопасность VLAN для превышения FDB |
| vrrp | Протокол VRRP |
| bfd-learning | Пакеты обучения BFD |
| dot1x-mac-bypass | Пакеты с обходом аутентификации MAC |
| bgp | Пакеты протокола BGP |
| egress-ttl-fail | Пакеты с ошибкой TTL на выходе |
| icmpv6 | Пакеты ICMPv6 |
| l2protocol-tunnel | Туннельные пакеты второго уровня |
| loopback-detection | Пакеты обнаружения петель |
| mirror-to-cpu | Пакеты зеркалирования на процессор |
| ndp | Пакеты протокола обнаружения соседей |
| tunnel-gre-keepalive | Пакеты Keepalive туннеля GRE |
Скорости и классы по умолчанию для каждой причины
| Причина | Скорость (pps) | Класс |
|---|---|---|
| arp | 256 | 1 |
| bpdu | 64 | 3 |
| dhcp | 128 | 0 |
| eapol | 128 | 0 |
| erps | 128 | 3 |
| fwd-to-cpu | 64 | 0 |
| icmp-redirect | 128 | 0 |
| igmp | 128 | 2 |
| ip-option | 512 | 0 |
| ipda | 1000 | 0 |
| ssh | 64 | 3 |
| telnet | 64 | 3 |
| mlag | 1000 | 1 |
| tcp | 64 | 2 |
| ldp | 512 | 1 |
| macsa-mismatch | 128 | 0 |
| mcast-rpf-fail | 128 | 1 |
| mpls-ttl-fail | 64 | 0 |
| ip-mtu-fail | 64 | 0 |
| ospf | 256 | 1 |
| pim | 128 | 1 |
| port-security-discard | 128 | 0 |
| rip | 64 | 1 |
| sflow-egress | 128 | 0 |
| sflow-ingress | 128 | 0 |
| slow-protocol | 256 | 1 |
| smart-link | 128 | 2 |
| ucast-ttl-fail | 64 | 0 |
| udld | 128 | 3 |
| vlan-security-discard | 128 | 0 |
| vrrp | 512 | 1 |
| bfd-learning | 128 | 1 |
| dot1x-mac-bypass | 64 | 2 |
| bgp | 256 | 1 |
| egress-ttl-fail | 64 | 0 |
| icmpv6 | 64 | 2 |
| l2protocol-tunnel | 1000 | 0 |
| loopback-detection | 64 | 3 |
| mirror-to-cpu | 1000 | 0 |
| ndp | 64 | 2 |
| tunnel-gre-keepalive | 64 | 0 |
Принципы работы
PDU - Protocol Data Unit
17.4.2 Конфигурация
Шаг 1: Перейдите в режим конфигурации
Switch# configure terminal
Шаг 2: Настройте общую скорость
Значение по умолчанию: 2000 pps.
Switch(config)# cpu-traffic-limit total rate 3000
Шаг 3: Настройте скорость для отдельной причины
Например, для RIP:
Switch(config)# cpu-traffic-limit reason rip rate 500
Шаг 4: Настройте класс причины
Switch(config)# cpu-traffic-limit reason rip class 3
Диапазон допустимых значений класса: 0-3. Большее число означает более высокий приоритет.
Шаг 5: Выйдите из режима конфигурации
Switch(config)# end
Шаг 6: Проверка
Для проверки используйте следующие команды привилегированного режима EXEC:
Switch# show cpu traffic-limit
reason rate (pps) class
dot1x-mac-bypass 64 2
bpdu 64 3
slow-protocol 256 1
eapol 128 0
erps 128 3
smart-link 128 2
udld 128 3
loopback-detection 64 3
arp 256 1
dhcp 128 0
rip 500 3
ldp 512 1
ospf 256 1
pim 128 1
bgp 256 1
vrrp 512 1
ndp 64 2
icmpv6 64 2
ssh 64 3
telnet 64 3
mlag 1000 1
tcp 64 2
ipda 1000 0
icmp-redirect 128 0
mcast-rpf-fail 128 1
macsa-mismatch 128 0
port-security-discard 128 0
vlan-security-discard 128 0
egress-ttl-fail 64 0
ip-mtu-fail 64 0
bfd-learning 128 1
ptp 512 2
ip-option 512 0
tunnel-gre-keepalive 64 0
ucast-ttl-fail 64 0
mpls-ttl-fail 64 0
igmp 128 2
sflow-ingress 128 0
sflow-egress 128 0
fwd-to-cpu 64 0
l2protocol-tunnel 1000 0
mirror-to-cpu 1000 0
Total rate: 3000 (pps)
Для отображения статистической информации о CPU-трафике используйте следующие команды привилегированного режима EXEC:
Switch# show cpu traffic-statistics receive all
statistics rate time is 5 second(s)
reason count(packets) rate(pps)
dot1x-mac-bypass 0 0
bpdu 0 0
slow-protocol 0 0
eapol 0 0
erps 0 0
smart-link 0 0
udld 0 0
loopback-detection 0 0
arp 0 0
dhcp 0 0
rip 0 0
ldp 0 0
ospf 0 0
pim 0 0
bgp 0 0
vrrp 0 0
rsvp 0 0
ndp 0 0
icmpv6 0 0
ssh 0 0
telnet 0 0
mlag 0 0
tcp 0 0
ipda 0 0
icmp-redirect 0 0
mcast-rpf-fail 0 0
macsa-mismatch 0 0
port-security-discard 0 0
vlan-security-discard 0 0
egress-ttl-fail 0 0
ip-mtu-fail 0 0
bfd-learning 0 0
ptp 0 0
ip-option 0 0
tunnel-gre-keepalive 0 0
ucast-ttl-fail 0 0
mpls-ttl-fail 0 0
igmp 0 0
sflow-ingress 0 0
sflow-egress 0 0
fwd-to-cpu 0 0
l2protocol-tunnel 0 0
mirror-to-cpu 0 0
mpls-tp-pwoam 0 0
other 0 0
Total 0 0